package com.meilai.project.dto.finance.reimburse;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.meilai.project.dto.workflow.WorkFlowExtraSubmitDTO;
import com.meilai.project.entity.finance.reimburse.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * @author xchen
 * @since 2022-02-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel
public class ReimburseApplyDTO extends WorkFlowExtraSubmitDTO {

    @ApiModelProperty(value = "1：普通 2：维护报销 3：客提")
    private Integer type;

    @ApiModelProperty(value = "报销名称")
    private String name;

    @ApiModelProperty(value = "提交时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate submit_time;

    @ApiModelProperty("合同id")
    private Long contract_id;

    @ApiModelProperty(value = "销售单id")
    private Long bill_sale_id;

    @ApiModelProperty(value = "总金额")
    private BigDecimal total_amount;

    @ApiModelProperty("付款详情")
    private List<ReimburseApplyDetail> reimburseApplyDetailList;

    @ApiModelProperty("对公报销详情")
    private List<ReimbursePublicDetail> reimbursePublicDetailList;

    @ApiModelProperty("对私报销详情")
    private List<ReimbursePrivateDetail> reimbursePrivateDetailList;

    @ApiModelProperty("附件详情")
    private List<ReimburseApplyAttachment> reimburseApplyAttachmentList;
}
